#include "wingo.h"
#include <QDebug>


WinGO::WinGO(QObject *parent) : QObject(parent)
{
    QString xdg_runtime_dir = QProcessEnvironment::systemEnvironment().value("XDG_RUNTIME_DIR");
    QString display = QProcessEnvironment::systemEnvironment().value("DISPLAY");

    conn.connectToServer(xdg_runtime_dir + "/wingo/" + display);
}

WinGO& WinGO::getInstance()
{
    static WinGO winGO;
    return winGO;
}

void WinGO::setColorWallpaper(QString value) {
    char data[100];
    sprintf(data, "SetColorWallpaper \"%s\"", value.toStdString().c_str());
    conn.write(data, strlen(data) + 1);
    qDebug() << "设置背景颜色: " << data << endl;
}


void WinGO::GetWallpapers() {
    QList<QString> wallpapers;
    wallpapers.append("/wld.jpg");

    QJsonArray data;
    for(int i = 0 ; i < wallpapers.length() ; i++) {
        QJsonObject obj;
        obj.insert("uri", wallpapers[i]);
        data.append(obj);
    }

    emit WinGO::getInstance().sig_get_wallpapers(data);
}

void WinGO::GetColors() {
    QList<QString> colors;
    colors.append("#ff8c00");
    colors.append("#e81123");
    colors.append("#d13438");
    colors.append("#c30052");
    colors.append("#bf0077");
    colors.append("#9a0089");
    colors.append("#881798");
    colors.append("#744da9");
    colors.append("#10893e");
    colors.append("#107c10");
    colors.append("#018574");
    colors.append("#2d7d9a");
    colors.append("#0063b1");
    colors.append("#6b69d6");
    colors.append("#8e8cd8");
    colors.append("#8764b8");
    colors.append("#038387");
    colors.append("#486860");
    colors.append("#525e54");
    colors.append("#7e735f");
    colors.append("#4c4a48");
    colors.append("#515c6b");
    colors.append("#4a5459");
    colors.append("#000000");

    QJsonArray data;
    for(int i = 0 ; i < colors.length() ; i++) {
        QJsonObject obj;
        obj.insert("color_value", colors[i]);
        data.append(obj);
    }

    emit WinGO::getInstance().sig_get_pureColors(data);

}
